﻿using Commons;
using RMSModel;
using RMSModel.Common;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using RMSModel.Models;

namespace RMSIService
{
    public interface IShopService
    {
        public ResultType<List<VMGoods>> GetAllGoods();

        public ResultType<List<goodstype>> GetAllGoodsType();
        public ResultType<List<goodstype>> GetAllGoodsTypeWhereLV1();

        public ResultType AddGoodsType(goodstype g);
        public ResultType<goodstype> GetGoodsTypeById(int id);
        public ResultType UpdateGoodsType(goodstype g);

        public ResultType DeleteGoodsType(goodstype g);

        public List<TreeModel> GetAllGoodsTypeTree();

        public ResultType AddGoods(VMGoods g);

        public ResultType DeleteGoods(List<goods> g);

        public ResultType<VMGoods> GetGoodsById(int id);

        public ResultType UpdateGoods(VMGoods g);

        public ResultType UpdateGoodsStatus(int id,bool status);

        public ResultType<List<shopuser>> GetAllShopUser();

        public ResultType<List<order>> GetAllOrder();

        public ResultType<List<order>> GetOrderByStatus(int status);

        public ResultType<Dictionary<string,int>> GetOrderGroupCount();
        public ResultType<List<order>> GetOrderBySn(string no);

        public ResultType  ConsignmentAsync(order o);

        public ResultType<List<nideshop_shipping>> GetAllShipping();
    }
    
}
